/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Negocio;

import java.io.Serializable;
import java.util.Calendar;
import java.util.GregorianCalendar;

/**
 *
 * @author Jeferson
 */
public class Aluno implements Serializable{

    private String nome;
    private String resp;
    private int ficha;
    private Integer rg;
    private Long cpf;
    private long nscm;
    private int psti;
    private int pstf;

    public Aluno(String nome, String resp, int ficha, long nscm, Integer rg, Long cpf) {
        this.nome = nome.toUpperCase();
        this.resp = resp;
        this.ficha = ficha;
        this.nscm = nscm;
        this.rg = rg;
        this.cpf = cpf;
        psti=calculaPastaI(ficha);
        pstf = calculaPastaF(ficha);
    }
    
    public String getPasta(){
        return ""+psti+"-"+pstf;
    }

    public Long getCpf() {
        return cpf;
    }

    public void setCpf(long cpf) {
        this.cpf = cpf;
    }

    public Integer getRg() {
        return rg;
    }

    public void setRg(int rg) {
        this.rg = rg;
    }

    public int getPstf() {
        return pstf;
    }

    public int getPsti() {
        return psti;
    }

    public String getResp() {
        return resp;
    }
    
    public static int calculaPastaI(int ficha){
        if(ficha%50==0)
            return (ficha/50-1)*50+1;
        else
            return (ficha/50)*50+1;
    }
    
    public static int calculaPastaF(int ficha){
        return calculaPastaI(ficha)+49;
    }

    public int getFicha() {
        return ficha;
    }

    public void setFicha(int ficha) {
        this.ficha = ficha;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public long getNscm() {
        return nscm;
    }

    public void setNscm(long nscm) {
        this.nscm = nscm;
    }

    public void setresp(String resp) {
        this.resp = resp;
    }
    
    public boolean equals(Aluno aluno){
        return this.getNome().equals(aluno.getNome()) && this.nscmToString().equals(aluno.nscmToString());
    }
    
    public String nscmToString(){
        GregorianCalendar gc = new GregorianCalendar();
        gc.setTimeInMillis(nscm);
        return ""+gc.get(Calendar.DAY_OF_MONTH)+"/"+(gc.get(Calendar.MONTH)+1)+"/"+gc.get(Calendar.YEAR);
    }
    
}
